﻿using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;

namespace GBricks
{
  [SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = Justifications.ByDesign)]
  [DebuggerNonUserCode]
  [Pure]
  public static partial class Lambda
  {
    public static Predicate<T> Predicate<T>(Predicate<T> value) { return value; }

    public static Comparison<T> Comparison<T>(Comparison<T> value) { return value; }

    public static Converter<TInput, TOutput> Converter<TInput, TOutput>(Converter<TInput, TOutput> value) { return value; }

    public static EventHandler<TEventArgs> EventHandler<TEventArgs>(EventHandler<TEventArgs> value) where TEventArgs : EventArgs { return value; }

    public static EventHandler EventHandler(EventHandler value) { return value; }
  }
}
